home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITGetFont.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  3.8 KB  |  129 lines

  1. //
  2. //                    CITGetFont include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2002.02.14
  7. //
  8.  
  9. #ifndef CIT_GETFONT_H
  10. #define CIT_GETFONT_H TRUE
  11.  
  12. #ifndef CIT_GADGETS_H
  13. #include "CITGadget.h"
  14. #endif
  15.  
  16. #include <gadgets/getfont.h>
  17.  
  18. //
  19. // This enum is for internal use only
  20. //
  21. enum
  22. {
  23.   CITGETFONT_TEXTATTR = 0,
  24.   CITGETFONT_DOFRONTPEN,
  25.   CITGETFONT_DOBACKPEN,
  26.   CITGETFONT_DOSTYLE,
  27.   CITGETFONT_DODRAWMODE,
  28.   CITGETFONT_MINHEIGHT,
  29.   CITGETFONT_MAXHEIGHT,
  30.   CITGETFONT_FIXEDWIDTHONLY,
  31.   CITGETFONT_TITLETEXT,
  32.   CITGETFONT_HEIGHT,
  33.   CITGETFONT_WIDTH,
  34.   CITGETFONT_LEFTEDGE,
  35.   CITGETFONT_TOPEDGE,
  36.   CITGETFONT_FRONTPEN,
  37.   CITGETFONT_BACKPEN,
  38.   CITGETFONT_DRAWMODE,
  39.   CITGETFONT_MAXFRONTPEN,
  40.   CITGETFONT_MAXBACKPEN,
  41.   CITGETFONT_MODELIST,
  42.   CITGETFONT_FRONTPENS,
  43.   CITGETFONT_BACKPENS,
  44.   CITGETFONT_LAST
  45. };
  46.  
  47. class CITGetFont:public CITGadget
  48. {
  49.   public:
  50.     CITGetFont();
  51.     ~CITGetFont();
  52.  
  53.     void TextAttr(struct TextAttr* attr)
  54.            {setTag(CITGETFONT_TEXTATTR,GETFONT_TextAttr,ULONG(attr));}
  55.     void DoFrontPen(BOOL b = TRUE)
  56.            {setTag(CITGETFONT_DOFRONTPEN,GETFONT_DoFrontPen,b);}
  57.     void DoBackPen(BOOL b = TRUE)
  58.            {setTag(CITGETFONT_DOBACKPEN,GETFONT_DoBackPen,b);}
  59.     void DoStyle(BOOL b = TRUE)
  60.            {setTag(CITGETFONT_DOSTYLE,GETFONT_DoStyle,b);}
  61.     void DoDrawMode(BOOL b = TRUE)
  62.            {setTag(CITGETFONT_DODRAWMODE,GETFONT_DoDrawMode,b);}
  63.     void MinHeight(UWORD min)
  64.            {setTag(CITGETFONT_MINHEIGHT,GETFONT_MinHeight,min);}
  65.     void MaxHeight(UWORD max)
  66.            {setTag(CITGETFONT_MAXHEIGHT,GETFONT_MaxHeight,max);}
  67.     void FixedWidthOnly(BOOL b = TRUE)
  68.            {setTag(CITGETFONT_FIXEDWIDTHONLY,GETFONT_FixedWidthOnly,b);}
  69.     void TitleText(char* text)
  70.            {setTag(CITGETFONT_TITLETEXT,GETFONT_TitleText,ULONG(text));}
  71.     void LeftEdge(WORD x)
  72.            {setTag(CITGETFONT_LEFTEDGE,GETFONT_LeftEdge,x);}
  73.     void TopEdge(WORD y)
  74.            {setTag(CITGETFONT_TOPEDGE,GETFONT_TopEdge,y);}
  75.     void Width(WORD w)
  76.            {setTag(CITGETFONT_WIDTH,GETFONT_Width,w);}
  77.     void Height(WORD h)
  78.            {setTag(CITGETFONT_HEIGHT,GETFONT_Height,h);}
  79.     void FrontPen(UBYTE pen)
  80.            {setTag(CITGETFONT_FRONTPEN,GETFONT_FrontPen,pen);}
  81.     void BackPen(UBYTE pen)
  82.            {setTag(CITGETFONT_BACKPEN,GETFONT_BackPen,pen);}
  83.     void DrawMode(UBYTE mode)
  84.            {setTag(CITGETFONT_DRAWMODE,GETFONT_DrawMode,mode);}
  85.     void MaxFrontPen(UBYTE pen)
  86.            {setTag(CITGETFONT_MAXFRONTPEN,GETFONT_MaxFrontPen,pen);}
  87.     void MaxBackPen(UBYTE pen)
  88.            {setTag(CITGETFONT_MAXBACKPEN,GETFONT_MaxBackPen,pen);}
  89.     void ModeList(char** mode)
  90.            {setTag(CITGETFONT_MODELIST,GETFONT_ModeList,ULONG(mode));}
  91.     void FrontPens(UBYTE* pens)
  92.            {setTag(CITGETFONT_FRONTPENS,GETFONT_FrontPens,ULONG(pens));}
  93.     void BackPens(UBYTE* pens)
  94.            {setTag(CITGETFONT_BACKPENS,GETFONT_BackPens,ULONG(pens));}
  95.  
  96.     struct TextAttr*  TextAttr()
  97.            { return (struct TextAttr*)getTag(GETFONT_TextAttr); }
  98.     WORD  LeftEdge()
  99.            { return getTag(GETFONT_LeftEdge); }
  100.     WORD  TopEdge()
  101.            { return getTag(GETFONT_TopEdge); }
  102.     WORD  Width()
  103.            { return getTag(GETFONT_Width); }
  104.     WORD  Height()
  105.            { return getTag(GETFONT_Height); }
  106.     WORD  FrontPen()
  107.            { return getTag(GETFONT_FrontPen); }
  108.     WORD  BackPen()
  109.            { return getTag(GETFONT_BackPen); }
  110.     WORD  DrawMode()
  111.            { return getTag(GETFONT_DrawMode); }
  112.     WORD  SoftStyle()
  113.            { return getTag(GETFONT_SoftStyle); }
  114.  
  115.     void RequestFont();
  116.  
  117.   protected:
  118.     virtual BOOL    Create(CITWindow* CITWd,class CITRootClass* parent);
  119.     virtual Object* NewObjectA(TagItem* tags);
  120.  
  121.   private:
  122.     void  setTag(int index,ULONG attr,ULONG val);
  123.     ULONG getTag(ULONG attr);
  124.  
  125.     TagItem* getFontTag;
  126. };
  127.  
  128. #endif
  129.